<?php
class Page {
	
	/**
	 * Vytvoří novou stránku
	 * @param $nazev
	 * @param $obsah
	 */
	function newPage($nazev, $obsah) {
		if($nazev == "" or $obsah == ""){
			return false;
		}
		$sql = "INSERT INTO pages (nazev, obsah) VALUES ('$nazev', '$obsah')";
		mysql_query($sql);
	}
	
	/**
	 * Smaže stránku
	 * @param $id
	 */
	function deletePage($id) {
		$sql = "DELETE FROM pages WHERE id = '$id'";
		mysql_query($sql);
	}
	
	/**
	 * Upravý stránku
	 * @param $id
	 * @param $nazev
	 * @param $obsah
	 */
	function editPage($id, $nazev, $obsah) {
		if ($nazev == "" or $obsah == "") {
			return false;
		}
		$sql = "UPDATE pages SET nazev = '$nazev', obsah = '$obsah' WHERE id = '$id'";
		mysql_query($sql);
	}
	
	/**
	 * Vrátí stránku podle názvu
	 * @param $name
	 * @return array
	 */
	function getByName($name) {
		$name = MySQLData($name);
		if ($name == "") {
			return false;
		}
		$page = array();
		$sql = "SELECT FROM pages WHERE nazev = '$name'";
		$a = mysql_query($sql);
		while($data = mysql_fetch_assoc($a)){
			$page["nazev"] = $data["nazev"];
			$page["obsah"] = $data["obsah"];
			$page["id"] = $data["id"];
		}
		return $page;
	}
	
	/**
	 * Vrátí stránku podle id
	 * @param $id
	 * @return array
	 */
	function getById($id) {
		$id = MySQLData($id);
		if ($id == "") {
			return false;
		}
		$page = array();
		$sql = "SELECT * FROM pages WHERE id = '$id'";
		$a = mysql_query($sql);
		while($data = mysql_fetch_assoc($a)){
			$page["nazev"] = $data["nazev"];
			$page["obsah"] = $data["obsah"];
			$page["id"] = $data["id"];
		}
		return $page;
	}
	
	/**
	 * Umí prohledat stránky
	 * @param $query - dotaz
	 * @param $nazev - prohledat názvy?
	 * @param $obsah - prohledat obsah?
	 * @return array
	 */
	function searchPage($query, $nazev, $obsah) {
		$ids = array();
		$query = MySQLData($query);
		if($query == "" or ($nazev != 1 and $obsah != 1)){
			return false;
		}
		$sql = "SELECT id FROM pages WHERE ";
		if ($nazev == 1) {
			$sql .= "nazev LIKE '%$query%'";
			$ok = true;
		}
		if ($obsah == 1) {
			if ($ok) {
				$sql .= " OR ";
			}
			$sql .= "obsah LIKE '%$query%'";
		}
		$a = mysql_query($sql);
		while ($data = mysql_fetch_assoc($a)){
			$ids[] = $data["id"];
		}	
		$pages = array();
		foreach ($ids as $value) {
			$pages[] =  self::getById($value);
		}
		return $pages;
	}
	
	/**
	 * Vrátí pole se všemi stránkami
	 * @return array
	 */
	function getPages() {
		$pages = array();
		$sql = "SELECT * FROM pages";
		$ps = mysql_query($sql);
		while ($a = mysql_fetch_assoc($ps)){
			$pages[] = self::getById($a["id"]);
		}
		return $pages;
	}
}
?>